home *** CD-ROM | disk | FTP | other *** search
- machine mc68020
- fpu 1
-
- *******************************************************************************
- * name offset
- * sign -4
- * num -8
- * args
- * s 12
- * n 8
- xdef _Val
- _Val
- link a5,#-8
- move.l d2,-(a7)
- clr.l (-8,a5)
- move.l #1,(-4,a5)
- while0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #9,d2
- cmp.l d2,d1
- seq d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #10,d2
- cmp.l d2,d1
- seq d1
- extb.l d1
- or.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #32,d2
- cmp.l d2,d1
- seq d1
- extb.l d1
- or.l d1,d0
- tst.l d0
- beq end0
- addq.l #1,(8,a5)
- bra while0
- end0
- if1
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #45,d1
- cmp.l d1,d0
- bne end1
- move.l #-1,(-4,a5)
- addq.l #1,(8,a5)
- end1
- if3
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #37,d1
- cmp.l d1,d0
- bne elseif3_1
- addq.l #1,(8,a5)
- while5
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #48,d2
- cmp.l d2,d1
- seq d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #49,d2
- cmp.l d2,d1
- seq d1
- extb.l d1
- or.l d1,d0
- tst.l d0
- beq end5
- move.l (-8,a5),d0
- lsl.l #1,d0
- move.l d0,(-8,a5)
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #48,d1
- sub.l d1,d0
- or.l d0,(-8,a5)
- addq.l #1,(8,a5)
- bra while5
- end5
- bra end3
- elseif3_1
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #36,d1
- cmp.l d1,d0
- bne elseif3_2
- addq.l #1,(8,a5)
- while8
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #48,d2
- cmp.l d2,d1
- sge d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #57,d2
- cmp.l d2,d1
- sle d1
- extb.l d1
- and.l d1,d0
- tst.l d0
- beq elsewhile8_1
- move.l (-8,a5),d0
- lsl.l #4,d0
- move.l d0,(-8,a5)
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #48,d1
- sub.l d1,d0
- or.l d0,(-8,a5)
- bra always8
- elsewhile8_1
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #97,d2
- cmp.l d2,d1
- sge d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #102,d2
- cmp.l d2,d1
- sle d1
- extb.l d1
- and.l d1,d0
- tst.l d0
- beq elsewhile8_2
- move.l (-8,a5),d0
- lsl.l #4,d0
- move.l d0,(-8,a5)
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #97,d1
- sub.l d1,d0
- moveq #10,d1
- add.l d1,d0
- or.l d0,(-8,a5)
- bra always8
- elsewhile8_2
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #65,d2
- cmp.l d2,d1
- sge d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #70,d2
- cmp.l d2,d1
- sle d1
- extb.l d1
- and.l d1,d0
- tst.l d0
- beq end8
- move.l (-8,a5),d0
- lsl.l #4,d0
- move.l d0,(-8,a5)
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #65,d1
- sub.l d1,d0
- moveq #10,d1
- add.l d1,d0
- or.l d0,(-8,a5)
- always8
- addq.l #1,(8,a5)
- bra while8
- end8
- bra end3
- elseif3_2
- while14
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #48,d2
- cmp.l d2,d1
- sge d1
- extb.l d1
- move.l d1,d0
- movea.l (12,a5),a0
- move.l (8,a5),d2
- move.b (a0,d2.l*1),d1
- andi.l #255,d1
- moveq #57,d2
- cmp.l d2,d1
- sle d1
- extb.l d1
- and.l d1,d0
- tst.l d0
- beq end14
- move.l (-8,a5),d0
- muls.l #10,d0
- move.l d0,(-8,a5)
- movea.l (12,a5),a0
- move.l (8,a5),d1
- move.b (a0,d1.l*1),d0
- andi.l #255,d0
- moveq #48,d1
- sub.l d1,d0
- add.l d0,(-8,a5)
- addq.l #1,(8,a5)
- bra while14
- end14
- end3
- Valend
- move.l (-8,a5),d0
- muls.l (-4,a5),d0
- move.l (8,a5),d1
- Valfinish
- move.l (a7)+,d2
- unlk a5
- rts
- section ".tocd",data
-